﻿using System;
using System.Web;

namespace AFT.Parking.Foundation.Caching
{
    public  class HttpCaches
    {

        ///<summary>

        ///获取当前应用程序指定CacheKey的Cache对象值

        ///</summary>

        ///<param name="cacheKey">索引键值</param>

        ///<returns>返回缓存对象</returns>

        public static object GetCache(string cacheKey)
        {

            System.Web.Caching.Cache objCache = HttpRuntime.Cache;

            return objCache[cacheKey];

        }

        ///<summary>

        ///设置当前应用程序指定CacheKey的Cache对象值

        ///</summary>

        ///<param name="cacheKey">索引键值</param>

        ///<param name="objObject">缓存对象</param>

        public static void SetCache(string cacheKey, object objObject)
        {
            if (objObject != null)
            {
                System.Web.Caching.Cache objCache = HttpRuntime.Cache;

                objCache.Insert(cacheKey, objObject);
            }
        }

        ///<summary>

        ///设置当前应用程序指定CacheKey的Cache对象值

        ///</summary>

        ///<param name="cacheKey">索引键值</param>

        ///<param name="objObject">缓存对象</param>

        ///<param name="absoluteExpiration">绝对过期时间</param>

        ///<param name="slidingExpiration">最后一次访问所插入对象时与该对象过期时之间的时间间隔</param>

        public static void SetCache(string cacheKey, object objObject, DateTime absoluteExpiration, TimeSpan slidingExpiration)
        {

            System.Web.Caching.Cache objCache = HttpRuntime.Cache;

            objCache.Insert(cacheKey, objObject, null, absoluteExpiration, slidingExpiration);

        }       
    }
}
